1. Field of the Invention
The present invention generally relates to computer software. More specifically, the present invention relates to computer software applications configured to facilitate the interactive design of three-dimensional (3D) models of utility networks using a collection of customizable, dynamically applied design rules.
2. Description of the Related Art
Currently, computer aided design (CAD) applications are available that allow a designer or engineer to compose a graphical representation of real-world three-dimensional (3D) structures. For example, computer aided design (CAD) applications are available that allow a designer or engineer to construct graphical representations of utility networks such as gas, electricity, or surface water utility networks. For example, a user may generate a representation of a surface water utility network using drawing elements to represent elements as pipes, conduits, manhole covers, catch basins, along with other pipes and structures.
Related application “Method for Dynamically Generating Multiple Views of Three-Dimensional Models for Utility Networks” describes a CAD application used to construct 3D models of utility networks by selecting and placing a network of inter-connected network parts. For example, to construct a model of a surface water utility network, a user may select the appropriate part objects from a pipe and structure list. Connectivity among parts is established through part placement. Internally, the pipe and structure parts may be represented by model data that defines a set of common behavior and properties for a part, as well as data regarding each instance of a network part in the 3D model. Thus, an instance of a network part included in a 3D model may specify a location within a 3D terrain model (both above and below ground) as well as attributes such as size, type, material, manufacturer etc. If a user modifies position or data for a given network part, the CAD application resizes and updates any associated two-dimensional and three-dimensional views of the utility network. Typically, many different views may be created to represent the same utility network from different perspectives. For example, a plan view may provide a “top-down” perspective and a profile view may provide a cross-sectional perspective of the utility network.
Often, the real-world structure corresponding to the 3D model is subject to many design considerations. For example, the requirements for a planned surface water utility network may specify that all pipes should have a certain minimum amount of ground cover, or that certain pipes should have a maximum length, slope, or other characteristics. Engineering structures, such as catch basins or drainage tanks, may also have requirements specifying size, minimum cover, or proximity to other existing structures, etc. For a 3D model to be useful, it should conform to these restrictions.
However, ensuring that a given 3D model conforms to real-world design requirements has proven to be difficult. CAD applications are typically configured to provide a great deal of flexibility and do not constrain how parts are placed within a model, because of the level of variation that may occur in real-world utility networks. Consequently, the user must ensure that parts and structures included in a model conform to any design constraints for the real-work structure manually. Since the user does this for each component or part placed in the model, the process can quickly become a time consuming and tedious.
Furthermore, even when the user goes to ensure that the network parts included in a 3D model conform to a set of design requirements, subsequently changing or validating the requirements is also difficult. For example, a user may wish to change one of the requirements and ascertain which parts of the 3D model are affected. Doing so requires the user to walk through elements of the model and manually review each component that may be affected by such a change to determine whether these components are, in fact, affected. Again, this process is both time consuming and tedious.
Accordingly, there remains a need for a CAD application that allows a user to construct a model of a real-work 3D structure, such as utility network, that provides a user with sufficient flexibility to model a large variety of real-world scenarios, and that simultaneously allows a user to efficiently compose a model subject to various design constraints, as well as permutations of these constraints.